package com.yanfan.energy.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author caijinkang
 * @date 2023年02月13日 14:32
 */
public class ScheduleParticularsBody {
    /**
     * 计划编号
     *
     * @author caijinkang
     * @date 2023/2/13 14:32
     * @param null
     * @return null
     */
    private String scheduleNumber;
    /**
     * 计划进度
     *
     * @author caijinkang
     * @date 2023/2/13 14:33
     * @param null
     * @return null
     */
    private Double rateOfProgress;
    /**
     * 计划名称
     *
     * @author caijinkang
     * @date 2023/2/13 14:33
     * @param null
     * @return null
     */
    private String scheduleName;
    /**
     * 厂区
     *
     * @author caijinkang
     * @date 2023/2/13 14:34
     * @param null
     * @return null
     */
    private String plantName;
    /**
     * 车间
     *
     * @author caijinkang
     * @date 2023/2/13 14:34
     * @param null
     * @return null
     */
    private String workshopName;
    /**
     * 状态
     *
     * @author caijinkang
     * @date 2023/2/13 14:34
     * @param null
     * @return null
     */
    private Integer state;
    /**
     * 排程开始日期
     *
     * @author caijinkang
     * @date 2023/2/13 14:35
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date beginDate;
    /**
     * 排程结束日期
     *
     * @author caijinkang
     * @date 2023/2/13 14:35
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date endDate;
    /**
     * 负责人
     *
     * @author caijinkang
     * @date 2023/2/13 14:35
     * @param null
     * @return null
     */
    private String principal;
    /**
     * 关联订单
     *
     * @author caijinkang
     * @date 2023/2/13 14:36
     * @param null
     * @return null
     */
    private List<OrderParticularBody> orderParticularBodies;

    public ScheduleParticularsBody() {
    }

    public ScheduleParticularsBody(String scheduleNumber, Double rateOfProgress, String scheduleName, String plantName, String workshopName, Integer state, Date beginDate, Date endDate, String principal, List<OrderParticularBody> orderParticularBodies) {
        this.scheduleNumber = scheduleNumber;
        this.rateOfProgress = rateOfProgress;
        this.scheduleName = scheduleName;
        this.plantName = plantName;
        this.workshopName = workshopName;
        this.state = state;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.principal = principal;
        this.orderParticularBodies = orderParticularBodies;
    }

    @Override
    public String toString() {
        return "ScheduleParticularsBody{" + "scheduleNumber='" + scheduleNumber + '\'' + ", rateOfProgress=" + rateOfProgress + ", scheduleName='" + scheduleName + '\'' + ", plantName='" + plantName + '\'' + ", workshopName='" + workshopName + '\'' + ", state=" + state + ", beginDate=" + beginDate + ", endDate=" + endDate + ", principal='" + principal + '\'' + ", orderParticularBodies=" + orderParticularBodies + '}';
    }

    public String getScheduleNumber() {
        return scheduleNumber;
    }

    public void setScheduleNumber(String scheduleNumber) {
        this.scheduleNumber = scheduleNumber;
    }

    public Double getRateOfProgress() {
        return rateOfProgress;
    }

    public void setRateOfProgress(Double rateOfProgress) {
        this.rateOfProgress = rateOfProgress;
    }

    public String getScheduleName() {
        return scheduleName;
    }

    public void setScheduleName(String scheduleName) {
        this.scheduleName = scheduleName;
    }

    public String getPlantName() {
        return plantName;
    }

    public void setPlantName(String plantName) {
        this.plantName = plantName;
    }

    public String getWorkshopName() {
        return workshopName;
    }

    public void setWorkshopName(String workshopName) {
        this.workshopName = workshopName;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getPrincipal() {
        return principal;
    }

    public void setPrincipal(String principal) {
        this.principal = principal;
    }

    public List<OrderParticularBody> getOrderParticularBodies() {
        return orderParticularBodies;
    }

    public void setOrderParticularBodies(List<OrderParticularBody> orderParticularBodies) {
        this.orderParticularBodies = orderParticularBodies;
    }
}
